#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    int num = 0;
    long long ret = 0;
    cin >> num;
    //vector<int> v(2 * num + 1);
    int num0 = 0;
    int num1 = 0;
    string s;
    cin >> s;
    for (auto i : s)
    {
        if (i == '1')
        {
            num1++;
        }
        else {
            num0++;
        }
    }
    s += s;
    int left = 0, right = num / 2 - 1;
    int r1 = 0, r0 = 0;
    for (int i = 1; i <= right; i++)
    {
        if (s[i] == '1')
        {
            r1++;
        }
        else {
            r0++;
        }
    }
    if (s[left] == '1')
    {
        r1++;
    }
    else {
        r0++;
    }
    while (right < num + num / 2)
    {
        char x = s[left];

        if (r1 == (num1 / 2) && r0 == (num0 / 2))
        {
            ret++;
        }
        left++;
        right++;
        if (s[right] == '1')
        {
            r1++;
        }
        else {
            r0++;
        }
        if (x == '1')
        {
            r1--;
        }
        else {
            r0--;
        }

    }
    cout << ret;
    return 0;
}

//#define _CRT_SECURE_NO_WARNINGS
//#include <iostream>
//#include <vector>
//using namespace std;
//
//int main() {
//    int num = 0;
//    int ret = 0;
//    cin >> num;
//    vector<int> v(2 * num + 1);
//    int num0 = 0;
//    int num1 = 0;
//    for (int i = 0; i < num; i++)
//    {
//        int a = 0;
//        cin >> a;
//
//        if (a == 1)
//        {
//            num1++;
//        }
//        else {
//            num0++;
//        }
//        v[i] = v[i + num] = a;
//    }
//    int left = 0, right = num / 2 - 1;
//    int r1 = 0, r0 = 0;
//    for (int i = 1; i <= right; i++)
//    {
//        if (v[i] == 1)
//        {
//            r1++;
//        }
//        else {
//            r0++;
//        }
//    }
//    if (v[left] == 1)
//    {
//        r1++;
//    }
//    else {
//        r0++;
//    }
//    while (right < num + num / 2)
//    {
//        int x = v[left];
//        
//        if (r1 == (num1 / 2) && r0 == (num0 / 2))
//        {
//            ret++;
//        }
//        left++;
//        right++;
//        if (v[right] == 1)
//        {
//            r1++;
//        }
//        else {
//            r0++;
//        }
//        if (x == 1)
//        {
//            r1--;
//        }
//        else {
//            r0--;
//        }
//
//    }
//    cout << ret;
//    return 0;
//}